# 1. 导入所需模块
# 导入time模块用于设置等待时间，确保页面元素加载完成
import time
# 从selenium导入webdriver，用于控制浏览器
from selenium import webdriver
# 导入By类，用于元素定位方式（如ID、XPATH等）
from selenium.webdriver.common.by import By
# 导入Service类，用于配置Chrome驱动服务
from selenium.webdriver.chrome.service import Service

# 2. 配置Chrome驱动路径（使用相对路径）
# 相对路径说明：./ 表示当前脚本所在的目录
# 假设chromedriver.exe在当前脚本同级的drivers文件夹中，可根据实际位置调整
driver_path = "./drivers/chromedriver"  # 相对路径，需确保文件存在

# 3. 实例化Chrome浏览器服务驱动
# 通过Service类配置驱动路径，用于后续启动浏览器
chrome_service = Service(executable_path=driver_path)

# 4. 初始化Chrome浏览器对象
# 传入配置好的服务，启动Chrome浏览器
driver = webdriver.Chrome(service=chrome_service)

# 5. 打开目标网页
# 访问指定的URL页面
driver.get("http://121.43.169.97:8848/pageA.html")

# 6. 定位并操作页面元素
# 通过XPATH定位用户名输入框，并输入"admin"
driver.find_element(By.XPATH, "//input[@name='userA']").send_keys("admin")
# 通过XPATH定位密码输入框（ID为passwordA），并输入"123456"
driver.find_element(By.XPATH, "//*[@id='passwordA']").send_keys("123456")

# 7. 点击prompt按钮
# 通过XPATH定位type为button且value为prompt的按钮，并点击
driver.find_element(By.XPATH, "//*[@type='button' and @value = 'prompt']").click()

# 8. 等待2秒（确保操作可见，实际场景可替换为显式等待）
time.sleep(2)

# 9. 关闭浏览器并释放资源
driver.quit()